def gauss():
    c, r = 0, 0
    while c < n:
        t = r
        for i in range(r + 1, n):
            t = i if abs(a[t][c]) < abs(a[i][c]) else t
        if abs(a[t][c]) < 1e-6:
            c += 1
            continue
        a[r], a[t] = a[t], a[r]
        for i in range(n, c-1, -1):
            a[r][i] /= a[r][c]
        for i in range(r + 1, n):
            for j in range(n, c-1, -1):
                a[i][j] -= a[i][c] * a[r][j]
        c += 1
        r += 1
    if r < n:
        for i in range(r, n):
            if abs(a[i][n]) > 1e-6:
                return 2
        return 1
    for i in range(n-2, -1, -1):
        for j in range(i+1, n):
            a[i][n] -= a[i][j]*a[j][n]
    return [a[i][n] for i in range(n)]


N = 105
a = [[0.0]*N]*N
n = int(input())
for i in range(n):
    a[i] = list(map(float, input().split()))
t = gauss()
if t == 1:
    print('Infinite group solutions')
elif t == 2:
    print('No solution')
else:
    for i in range(len(t)):
        print('%.2f' % t[i])


